<template>
	<view>
		<sunMenu></sunMenu>
		<u-parse :content="content" class="parse" ></u-parse>
	</view>
</template>

<script>
	import sunMenu from '../../components/sun-menu/sun-menu.vue'
	import { getInformation } from '@/api/api.js'
	export default {
		components: {
			sunMenu
		},
		data() {
			return {
				content: '',
				query:{
					noticeType: ''
				}
			}
		},
		onLoad(op) {
			this.getList(op)
		},
		methods: {
			getList(e){
				this.query.noticeType = e.type
				getInformation(this.query).then(res=>{  
					this.content = this.appendToVideoUrl(res.rows[0].noticeContent)
				})
			},
			appendToVideoUrl(content) {
				if (!content) return '';
				const screenWidth = window.innerWidth;
				const isMobile = screenWidth < 768;
				
				// ===================== 处理视频 =====================
				const videoRegex = /(<iframe\s+[^>]*)(>)/g;
				// 移动端：使用rpx单位，宽680rpx
				// PC端：使用px单位，宽700px
				const videoStyle = isMobile 
					? ' style="width: 680rpx;height: 400rpx;"'  // 移动端视频样式
					: ' style="width: 700px;height: 400px;"';   // PC端视频样式
				
				// 为视频添加样式
				content = content.replace(videoRegex, (match, p1, p2) => {
					return `${p1}${videoStyle}${p2}`;
				});
				
				// ===================== 处理图片 =====================
				const imgRegex = /(<img\s+[^>]*)(\/?>)/g;
				// 移动端：最大宽度680rpx，宽度100%自适应
				// PC端：最大宽度700px，宽度100%自适应
				const imgStyle = isMobile
					? ' style="max-width: 680rpx;width: 100%;"'  // 移动端图片样式
					: ' style="max-width: 700px;width: 100%;"';  // PC端图片样式
					
				// 为图片添加样式
				content = content.replace(imgRegex, (match, p1, p2) => {
					// 如果图片标签已经有style属性
					if (p1.includes('style="')) {
						// 在原有style基础上添加宽度限制
						return p1.replace(
							'style="', 
							`style="max-width: ${isMobile ? '680rpx' : '700px'};width: 100%;`
						) + p2;
					}
					// 如果没有style属性，直接添加新的style
					return `${p1}${imgStyle}${p2}`;
				});
				
				return content;
			}
		}
	}
</script>

<style scoped>
	.parse {
		display: flex;
		justify-content: center;
		text-align: center;
		padding: 24rpx;
	}
</style>